
function buy(name,food,callback) {
    let time = 6000;
    setTimeout(() => {
        console.log(`${name}终于把${food}买了回来，花了${time}时长！`);
        callback("聂仔欣",food);
    },time)
}

function cook(name,food) {
    console.log(`${name}得到指令，准备做${food}`);
    let time = 3000;
    setTimeout(() => {
        console.log(`${name}做完了${food}，花了${time}时长！开饭了！`);
    },time)
}

buy("陈科地","牛肉",cook);
console.log("----------------------")

// 正确的逻辑，陈科地花费了未知时间（6秒），买回来之后，再让聂仔欣做牛肉，又花费了未知时间（3秒）
// setTimeout()是一个异步任务，它会同时与其它任务并发执行，于是多个任务之间就是异步执行，
// 如果要让逻辑正确，就要让任务进行同步

// 传统的方式，采用回调函数解决


// 要理解才能运用